Learning From Agile Software Development – Part One

نویسنده

  • Alistair Cockburn
چکیده

B eing agile is a declaration of prioritizing for project maneuverability with respect to shifting requirements, shifting technology, and a shifting understanding of the situation. Other priorities that might override agility include predictability , cost, schedule, process-accreditation, or use of specific tools. Most managers run a portfolio of projects having a mix of those priorities. They need to prioritize agility, predictability , and cost sensitivity in varying amounts and therefore need to mix strategies. This article focuses on borrowing ideas from the agile suite to fit the needs of plan-driven and cost-sensitive programs. Our industry now has enough information to sensibly discuss such blending. illustrate the differences in world view, and some authors have discussed the question of their coexistence and principles underlying successful development strategies [3, 8, 13]. Many project strategies revolve around spending money for either information or flexibility [3, 14]. In a money-for-information (MFI) proposition , the team can choose to expend resources now to gain information earlier. If the information is not considered valuable enough, the resources are applied to other work. The question is how much the team is willing to expend in exchange for that information. In a money-for-flexibility (MFF) proposition , the team may opt to expend resources to preserve later flexibility. If the future is quite certain, the resources are better spent pursuing the most probable outcome, or on MFI issues. Different project strategies are made by deciding which issues are predictable, unpredictable but resolvable, or unresolv-able, deciding which of those are MFI or MFF propositions, and how best to allocate resources for each. Predictable issues can be investigated using breakdown techniques. Such an issue might be creating a schedule for work similar to that successfully performed in the past. Unpredictable but resolvable issues can be investigated through study techniques such as prototypes and simulators. Such issues include system performance limits. These are also MFI propositions. Agile and plan-driven teams are likely to use similar strategies for these issues as part of basic project risk management. Unresolvable issues tend to be sociological , such as which upcoming standard will gain market acceptance, or how long key employees will stay around. These issues cannot be resolved in advance, and so are not MFI propositions, but are MFF propositions. Agile and plan-driven teams are intrinsically likely to use different strategies for these issues. Agile teams will set up to absorb these changes, while plan-driven …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A view towards Organizational Learning: An empirical study on Scrum implementation

Scrum is one of the agile methods gaining more relevance among academics and practitioners. It is mainly applied in the context of software development, which is a knowledge-intensive activity and depends on learning to evolve. Therefore, it becomes crucial to understand the question: Does Scrum implementation trigger a process of Organizational Learning? If ‘Yes’, how does the OL occur? This r...

متن کامل

An Agile Approach to Systems Analysis and Design Teaching and Learning

Systems analysis and design (SAD) is a core part of systems development and the Information Systems curriculum (Gorgone et al, 2002; Bajaj et al, 2004). SAD is a complex process, with many techniques used to understand problems and design solutions. This paper investigates how an agile software development approach may be used for the teaching and learning of SAD. The research reviews and compa...

متن کامل

Technological support for distributed agile development

Because of the distance between the dispersed development locations, Global Software development (GSD) is confronted with challenges regarding communication, coordination and control of the development work. At the same time, agile software development is strongly built upon communication between engineers and has proven its benefits, although, mostly on one single site. As such, it might be ad...

متن کامل

Studying agile organizational design to sustain innovation

Innovation is a core part of software development companies, frequently determined by organizational design variables including structure, capacity for learning, for change and adaptation. Agile software methods have evolved as approaches to promote agility and innovativeness in software development organizations. However, little research has examined organizational innovativeness and its relat...

متن کامل

Agile Practices: a Cognitive Learning Perspective

This paper highlights the theoretical aspect of agile practices from the cognitive learning perspective. Three cognitive strategies – elaboration, organization, and problem solving – underpin key strategies in agile practices to promote better understanding in learning software development activities. Agile practices such as planning games, pair programming, refactoring, coding standard and sim...

متن کامل

Balancing Self-Organizing Agile Teams: A Grounded Theory

Self-organizing teams are one of the critical success factors on Agile projects but unfortunately little is known about the self-organizing nature of Agile teams and the challenges they face in industrial practice. Based on a Grounded Theory study of 40 Agile practitioners across 16 software development organizations in New Zealand and India, we describe how self-organizing Agile teams perform ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002